# coding=utf-8
# Copyright 2024 The Google Research Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

"""Constants file for analysis."""

VOCAB_SIZE_DICT = {
    'C1': 1443,
    'C2': 554,
    'C3': 175781,
    'C4': 128509,
    'C5': 305,
    'C6': 19,
    'C7': 11930,
    'C8': 629,
    'C9': 3,
    'C10': 41224,
    'C11': 5160,
    'C12': 174835,
    'C13': 3175,
    'C14': 27,
    'C15': 11254,
    'C16': 165206,
    'C17': 10,
    'C18': 4605,
    'C19': 2017,
    'C20': 4,
    'C21': 172322,
    'C22': 18,
    'C23': 15,
    'C24': 56456,
    'C25': 86,
    'C26': 43356,
}

C = 'C'

I = 'I'

N = 'N'

LIST_OF_COLS_TEST = [
    'label',
    'I1',
    'I2',
    'I3',
    'I4',
    'I5',
    'I6',
    'I7',
    'I8',
    'I9',
    'I10',
    'I11',
    'I12',
    'I13',
    'C1',
    'C2',
    'C3',
    'C4',
    'C5',
    'C6',
    'C7',
    'C8',
    'C9',
    'C10',
    'C11',
    'C12',
    'C13',
    'C14',
    'C15',
    'C16',
    'C17',
    'C18',
    'C19',
    'C20',
    'C21',
    'C22',
    'C23',
    'C24',
    'C25',
    'C26',
]

FEATURE_COLS = [
    'I1',
    'I2',
    'I3',
    'I4',
    'I5',
    'I6',
    'I7',
    'I8',
    'I9',
    'I10',
    'I11',
    'I12',
    'I13',
    'C1',
    'C2',
    'C3',
    'C4',
    'C5',
    'C6',
    'C7',
    'C8',
    'C9',
    'C10',
    'C11',
    'C12',
    'C13',
    'C14',
    'C15',
    'C16',
    'C17',
    'C18',
    'C19',
    'C20',
    'C21',
    'C22',
    'C23',
    'C24',
    'C25',
    'C26',
]

METHODS_LIST = [
    'dllp_bce',
    'dllp_mse',
    'genbags',
    'easy_llp',
    'ot_llp',
    'sim_llp',
    'soft_erot_llp',
    'hard_erot_llp',
    'mean_map',
]

C1_C2_LIST = [
    (1, 7),
    (1, 10),
    (2, 7),
    (2, 10),
    (2, 11),
    (2, 13),
    (3, 7),
    (3, 10),
    (3, 11),
    (3, 13),
    (4, 7),
    (4, 10),
    (4, 11),
    (4, 13),
    (4, 15),
    (6, 7),
    (6, 10),
    (7, 8),
    (7, 10),
    (7, 12),
    (7, 14),
    (7, 15),
    (7, 16),
    (7, 18),
    (7, 20),
    (7, 21),
    (7, 24),
    (7, 26),
    (10, 12),
    (10, 14),
    (10, 15),
    (10, 16),
    (10, 17),
    (10, 18),
    (10, 20),
    (10, 21),
    (10, 24),
    (10, 26),
    (11, 12),
    (11, 15),
    (11, 16),
    (11, 18),
    (11, 21),
    (11, 24),
    (11, 26),
    (12, 13),
    (13, 15),
    (13, 16),
    (13, 18),
    (13, 21),
    (13, 24),
    (13, 26),
]

SSCL_VOCAB_SIZES = [
    11,
    5,
    6402,
    15,
    7723,
    22,
    155,
    823,
    1108,
    562,
    127,
    2,
    18,
    36564,
    30941,
    281,
    908,
]

SSCL_C1_C2_LIST = [
    (2, 5),
    (3, 5),
    (3, 8),
    (3, 16),
    (5, 6),
    (5, 7),
    (5, 8),
    (5, 9),
    (5, 16),
    (8, 16),
]

SSCL_METHODS_LIST = ['dllp_mse', 'dllp_mse', 'genbags', 'sim_llp']
